Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
As ubiquitous computing (ubicomp) is implemented in devices with fewer and fewer resources, such as appliances and light bulbs, local storage may be one of the components lacking in such devices. Even modest amounts of nonvolatile storage on ubicomp devices may cost as much as major features, such as high-definition multimedia interface (HDMI) video capabilities and full Linux processing capabilities. Consequently, manufacturers may add major features to the devices instead of expensive nonvolatile storage. Moreover, if storage is added, pricing options of devices may be often expressed largely in memory upgrade levels of the storage.
While lack of local storage may reduce cost, any time a power of a device is interrupted or a system resets, the device may need to re-download application(s) executed on the device. The application(s) may be critical for distributed ubicomp systems, such as personal health monitoring and security, where each device reports activities using installed agents or monitors. Additionally, embedded applications, which may generally be delivered from a service and reside to some degree on local storage, may cause start up delay if the local embedding has to be re-downloaded through an external network such as the internet for each application activation. The repeated re-downloading may further congest the network(s) on which the application resides. While collaborative caching has been applied in research environments to enable devices with limited local storage to utilize network based storage, such implementations involve substantial computation power, state tracking, network access management, and comparable features.